EXPLAIN QUERY PLAN
=================================================================
PRAGMA foreign_keys = 0;
CREATE TABLE sqlitestudio_temp_table AS SELECT *
FROM main_log;
DROP TABLE main_log;
CREATE TABLE main_log (
pk_key INTEGER PRIMARY KEY
NOT NULL,
timeStamp DATETIME NOT NULL
DEFAULT (CURRENT_TIMESTAMP),
logType TEXT,
logCode TEXT,
logPgm TEXT,
dataLine TEXT,
clientID TEXT
);
INSERT INTO main_log (
pk_key,
timeStamp,
logType,
logCode,
logPgm,
dataLine,
clientID
)
SELECT pk_key,
timeStamp,
logType,
logCode,
logPgm,
dataLine,
clientID
FROM sqlitestudio_temp_table;
DROP TABLE sqlitestudio_temp_table;
PRAGMA foreign_keys = 1;
=================================================================
CREATE INDEX mainLog_index01 ON main_log (
timeStamp ASC,
pk_key ASC
);
CREATE INDEX mainLog_index02 ON main_log (
timeStamp ASC,
logType ASC,
pk_key ASC
);
CREATE INDEX mainLog_index03 ON main_log (
timeStamp ASC,
logCode ASC,
pk_key ASC
);
CREATE INDEX mainLog_index04 ON main_log (
timeStamp ASC,
logPgm ASC,
pk_key ASC
);
CREATE INDEX mainLog_index05 ON main_log (
timeStamp ASC,
dataline,
pk_key ASC
);
=================================================================
CREATE INDEX mainLog_index02 ON main_log (
timeStamp DESC,
pk_key ASC
);
CREATE INDEX mainLog_index04 ON main_log (
logType DESC,
pk_key ASC
);
CREATE UNIQUE INDEX mainLog_index06 ON main_log (
logCode DESC,
pk_key ASC
);
CREATE UNIQUE INDEX mainLog_index08 ON main_log (
logPgm DESC,
pk_key ASC
);
CREATE INDEX mainLog_index09 ON main_log (
timeStamp ASC,
logType ASC,
pk_key ASC
);
=================================================================
CREATE TABLE recordCounter (
pk_counter INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
tableName TEXT,
tableCount INTEGER
);
INSERT INTO recordCounter VALUES ( 1, 'main_Log', (SELECT COUNT(*) FROM main_log));
CREATE TRIGGER trg_main_Log_insert
AFTER INSERT
ON main_Log
BEGIN
UPDATE recordCounter
SET tableCount = tableCount + 1
WHERE tableName = 'main_Log';
END;
CREATE TRIGGER trg_main_Log_delete
AFTER DELETE
ON main_Log
BEGIN
UPDATE recordCounter
SET tableCount = tableCount - 1
WHERE tableName = 'main_Log';
END;
=================================================================
CREATE TABLE recordCounter (
pk_counter INTEGER PRIMARY KEY AUTOINCREMENT
NOT NULL,
tableName TEXT,
tableCount INTEGER
);
INSERT INTO recordCounter VALUES ( 1, 'integration_Log', (SELECT COUNT(*) FROM integration_log));
CREATE TRIGGER trg_integration_Log_insert
AFTER INSERT
ON integration_Log
BEGIN
UPDATE recordCounter
SET tableCount = tableCount + 1
WHERE tableName = 'integration_Log';
END;
CREATE TRIGGER trg_integration_Log_delete
AFTER DELETE
ON integration_Log
BEGIN
UPDATE recordCounter
SET tableCount = tableCount - 1
WHERE tableName = 'integration_Log';
END;